home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 104 / 104.d81 / side print / side print.0829 / side print.a7ae (.txt)
Encoding:
Commodore BASIC  |  1993-01-01  |  47.3 KB  |  130 lines

  1. 10 rem %"toolbox 9000":%"side print.ml":%"side font"
  2. 20 poke45,227:poke46,026
  3. 100 poke650,128:poke56,56:poke55,00:clr:dv=peek(186):ifdv<8thendv=8
  4. 110 dimpa(20),v(18),pa$(20):poke53281,0:poke53280,0:fori=0to14:readpa$(i):next
  5. 115 poke52003,dv:pa(3)=dv
  6. 120 print"[147]":poke53272,31:cm=36864:box=cm+15:me=cm+48:mt=cm:at=cm+24:ce=mt+27
  7. 130 sysbox,0,0,3,21,118,1:sysbox,1,3,3,21,160,7:sysbox,4,4,3,21,117,10
  8. 140 sysbox,0,39,0,0,121,1:sysbox,0,39,1,1,160,14:sysbox,0,39,2,2,120,6
  9. 150 sysbox,0,39,22,22,121,3:sysbox,0,39,23,23,160,14:sysbox,0,39,24,24,120,6
  10. 160 sysbox,5,38,3,21,246,14:sysat,2,20,"[158]![145][145][157]"+chr$(34):poke212,0
  11. 170 sysat,2,16,"#[157][145][145]$[157][145][145]%[157][145][145]&[157][145][145]'[157][145][145]([157][145][145])[157][145][145][154]":gosub1050
  12. 180 sysce,23,"[195][210][211][210]/[210]eturn [212]o [211]elect"
  13. 190 sysce,1,"[208]ublished on [204][207][193][196][211][212][193][210] 104":syscm+18,160
  14. 200 sysbox,9,34,8,14,255,6:sysbox,10,35,7,13,160,3
  15. 210 sysat,12,8,"[159][211]elect [196]isk [196]rive"
  16. 220 sysat,12,9,"[211]elect [198]ile [212]o [208]rint"
  17. 230 sysat,12,10,"[195]hange [208]arameters"
  18. 240 sysat,12,11,"[200]elp"
  19. 250 sysat,12,12,"[210]eturn [212]o [204][207][193][196][211][212][193][210]":sysmt+18,168
  20. 260 poke198,0:sysmt+21,168:sysme,8,11,34,5,3,7,0:onf%goto300,400,500,3000,60000
  21. 300 sysbox,21,26,6,16,255,6:sysbox,22,27,5,15,160,13:print"[153]";:fori=8to16
  22. 310 sysat,26-len(str$(i)),i-2,str$(i):next:ms$="[208]lease [211]elect [196]rive [206]umber"
  23. 315 gosub2000
  24. 320 sysme,6,23,26,9,13,1,0
  25. 330 close2:open2,7+f%,2:close2:ifstthen320
  26. 340 dv=7+f%:pa(3)=dv:poke52003,dv:goto260
  27. 400 ms$="[199]etting [198]iles...":gosub2000
  28. 410 syscm,"$:*",dv,53248,12,3,17,13,1
  29. 420 ifval(e$)thenms$=e$:gosub2010:goto260
  30. 430 iff$=""then260
  31. 440 goto1100
  32. 500 sysbox,6,34,5,21,255,6:sysbox,7,35,4,20,160,3:sysbox,27,27,4,20,234,3
  33. 510 print"[159]";:fori=0to14:sysat,9,5+i,pa$(i):next
  34. 520 fori=0to10:sysat,29,5+i,str$(pa(i)):next
  35. 530 sysat,30,5+11,chr$(pa(11))
  36. 540 sysat,30,5+12,chr$(pa(12))
  37. 550 sysbox,0,39,23,23,160,14:print"[154]";:sysce,23,"[195][210][211][210]/[210][197][212][213][210][206] [212]o [211]elect"
  38. 555 syscm+18,176:sysbox,10,31,7,12,255,5:sysbox,11,32,6,11,160,13
  39. 560 sysat,13,7,"[153][197]dit [208]arameters":sysat,13,8,"[204][207][193][196] [198]rom [196]isk"
  40. 570 sysat,13,9,"[211][193][214][197] [212]o [196]isk":sysat,13,10,"[194]ack [212]o [205]ain [205]enu"
  41. 580 sysme,7,12,31,4,13,1,0:syscm+21,176:onf%goto600,800,900,260
  42. 600 ms$="[211]elect [208]arameter to [195]hange/[198]1 [197]xit":gosub2000
  43. 610 sysme,5,8,34,15,3,7,133:iff%=0then550
  44. 620 sysbox,8,34,4+f%,4+f%,255,1:sysbox,0,39,23,23,32,2:iff%>13then700
  45. 630 sysat,0,23,"[146][153][214]alue: ":syscm+66,1,7,3:ifw$<>""thenpa(f%-1)=val(w$)
  46. 640 iff%>11thenifw$<>""thenpa(f%-1)=asc(w$)
  47. 660 iff%<12thensysat,29,4+f%,""+str$(pa(f%-1))+" ":goto680
  48. 670 sysat,30,4+f%,""+chr$(pa(f%-1))+" "
  49. 680 sysbox,8,34,4+f%,4+f%,255,3:gosub1170:goto600
  50. 700 sysat,0,23,"[146][153][206]+[206]+[206]...: ":syscm+66,1,7,38-peek(211):ifw$=""then600
  51. 710 a$="":fori=1tolen(w$)
  52. 720 ifi<>1thenifmid$(w$,i,1)>="0"andmid$(w$,i,1)<="9"then760
  53. 740 ifabs(val(mid$(w$,i)))<256thena$=a$+chr$(abs(val(mid$(w$,i))))
  54. 755 ifi<>1theni=i+1
  55. 760 next:forj=0to8:v(j)=0:next:fori=1tolen(a$):v(i-1)=asc(mid$(a$,i,1)):next
  56. 770 on16-f%gosub1450,1430:goto680
  57. 800 ms$="[208]lace boot disk in drive"+str$(dv)+" [210][197][212][213][210][206]/[209]":gosub2010
  58. 810 ifa$="q"then550
  59. 820 ms$="[204][207][193][196]ing parameters...":gosub2000
  60. 840 open2,8,2,"prms.side,p,r":fori=0to20:input#2,pa(i):next:gosub1170
  61. 850 fori=0to8:input#2,a:poke52013+i,a:next
  62. 860 fori=0to8:input#2,a:poke52022+i,a:next:goto970
  63. 900 ms$="[208]lace boot disk in drive"+str$(dv)+" [210][197][212][213][210][206]/[209]":gosub2010
  64. 910 ifa$="q"then550
  65. 920 ms$="[211]aving paramters...":gosub2000:syscm+42,"s0:prms.side",dv
  66. 930 ifval(e$)>1thenms$=e$:gosub2010:goto550
  67. 940 open2,8,2,"prms.side,p,w":fori=0to20:print#2,pa(i):next
  68. 950 fori=0to8:print#2,peek(52013+i):next
  69. 960 fori=0to8:print#2,peek(52022+i):next
  70. 970 close2:syscm+42,"",dv:ifval(e$)thenms$=e$:gosub2010:goto550
  71. 980 goto550
  72. 999 wait198,15:stop
  73. 1050 pa(0)=4:pa(1)=5:pa(2)=1:pa(3)=dv:pa(4)=13:pa(5)=5:pa(6)=89:pa(7)=5
  74. 1060 pa(8)=3:pa(9)=2:pa(10)=2:pa(11)=asc("n"):pa(12)=asc("y"):gosub1170
  75. 1080 forx=0to8:v(x)=0:next:v(0)=27:v(1)=65:v(2)=8:gosub1430
  76. 1090 forx=0to8:v(x)=0:next:v(0)=27:v(1)=75:gosub1450:return
  77. 1100 a$=f$:gosub1170
  78. 1110 b$="m"
  79. 1120 forx=0to18:v(x)=0:next:forx=1tolen(a$):v(x-1)=asc(mid$(a$,x,1)):next
  80. 1130 v(len(a$))=asc(","):v(len(a$)+1)=asc(b$):gosub1470
  81. 1140 sys 49152:goto260
  82. 1150 end
  83. 1160 rem   printer device num
  84. 1170 poke52000,pa(0)
  85. 1180 rem   printer sec add
  86. 1190 poke52001,pa(1)
  87. 1200 rem   line spacing
  88. 1210 poke52002,pa(2)
  89. 1220 rem   drive device #
  90. 1230 poke52003,pa(3)
  91. 1240 rem   end of line char
  92. 1250 poke52004,pa(4)
  93. 1260 rem   left margin
  94. 1270 poke52005,pa(5)
  95. 1280 rem   line size
  96. 1290 poke52006,pa(6)
  97. 1300 rem   right margin
  98. 1310 poke52007,pa(7)
  99. 1320 rem   character set
  100. 1330 poke52008,pa(8)
  101. 1340 rem   top margin
  102. 1350 poke52009,pa(9)
  103. 1360 rem   bottom margin
  104. 1370 poke52010,pa(10)
  105. 1380 rem   reverse chars indicator
  106. 1390 poke52011,pa(11)
  107. 1400 rem   add line feed indicator
  108. 1410 poke52012,pa(12):return
  109. 1420 rem   line spacing codes
  110. 1430 forx=0to8:poke 52013+x,v(x):next:return
  111. 1440 rem   bit map codes
  112. 1450 forx=0to8:poke 52022+x,v(x):next:return
  113. 1460 rem   file name and type
  114. 1470 forx=0to18:poke 52031+x,v(x):next:return
  115. 2000 syscm+18,184:sysbo,0,39,23,23,160,1:print"";:sysce,23,ms$:ms$="":return
  116. 2010 gosub2000:poke198,0:wait198,15:geta$:syscm+21,184:return
  117. 2100 data"[208]rinter [196]evice","[211]econdary [193]ddress","[204]ine [211]pacing"
  118. 2110 data"[196]rive [206]umber","[197]nd [207]f [204]ine [195]har","[204]eft [205]argin","[204]ine [211]ize"
  119. 2120 data"[210]ight [205]argin","[195]haracter [211]et","[212]op [205]argin","[194]ottom [205]argin"
  120. 2130 data"[210]everse [195]hars?","[193]dd [204]ine [198]eed?","[204]ine [211]pacing [195]odes","[199]raphic [205]ode [207]n
  121. 3000 [158]cm[170]42,"r0:t.side boot=t.side boot",dv
  122. 3010 [139][197](e$)[179][177]63[167]ms$[178]e$:[141]2010:[137]260
  123. 3020 [153]:[153]"loadopen":[158]cm[170]51,"t.side boot",dv:[137]260
  124. 60000 a$[178]"hello connect":[129]i[178]8[164]9:[160]2:[159]2,i,2:[160]2:[139]st[167]60020
  125. 60010 [160]15:[159]15,i,15,"r0:"[170]a$[170]"="[170]a$:[132]15,er:[160]15:[139]er[178]63[167]60030
  126. 60020 [130]:[153]"load":[151]186,8:[128]
  127. 60030 q$[178][199](34):[151]646,[194](53281):[153]"load"
  128. 60040 [153]"loadp(NULL)2048,0:p(NULL)44,8:p(NULL)43,1:p(NULL)56,160:p(NULL)55,0:clr:l(NULL)"q$a$q$","i
  129. 60050 [153]"run:":[151]631,13:[151]632,13:[151]198,2:[128]
  130.